package com.front.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;


@RestController
@Slf4j
public class BaseController {
    /** 其他方法继承该方法类时，都可调用此方法
     * 封装成功方法
     * @param data
     * @return
     * @param <T>
     */
    //因为注入用来被继承，所以推荐使用 protected
    protected <T> Result success(T data){
        return new Result(ResultStatus.SUCCESS.getReturnCode(),
                ResultStatus.SUCCESS.getReturnMes(), data);
    }
    protected <T> Result  error(T data){
        //把重复两个参数在这写
        return new Result(ResultStatus.ERROR.getReturnCode(),
                ResultStatus.ERROR.getReturnMes(),data);
    }

//    @GetMapping("/level1")
//    public Integer level1(HttpServletRequest request) {
//        String token = request.getHeader("token");
//
//        log.info("level1 获得的token为：{}", token);
//        Integer userId = TokenUtil.getUserIdByToken(token);
//        log.info("userId={}", userId);
//        return userId;
//    }
}
